Low key point of interest notification

ABSTRACT

In one embodiment, a location of a mobile device may be obtained. A direction of movement of the mobile device may be ascertained. A field of vision of a user of the mobile device may be determined based, at least in part, on the location of the mobile device and the direction of movement of the mobile device. A user profile associated with the user and/or the mobile device may be identified. A notification may be provided via the mobile device based, at least in part, upon the user profile and the field of vision of the user.

BACKGROUND

The disclosed embodiments relate generally to methods and apparatus forproviding notifications via mobile devices.

Augmented reality is a live, direct or indirect, view of a physicalreal-world environment whose elements are augmented bycomputer-generated sensory input such as sound, video, or graphics. As aresult, augmented reality may enhance an individual's current perceptionof reality. Augmented reality may be implemented via devices such ashead-mounted devices or handheld devices.

A head-mounted display (HMD) is a display device paired to a headsetsuch as a harness or helmet. HMDs typically place images of both thephysical world and virtual objects over the user's field of view.However, HMDs are cumbersome and may be undesirable due to their awkwardappearance.

Handheld devices typically employ a small display that fits in a user'shand. Handheld devices provide advantages due to their size and portablenature. Unfortunately, the user must hold the handheld device out infront of them at all times to achieve the effects of augmented reality.

SUMMARY

The disclosed embodiments enable automated notifications to be providedvia devices such as mobile devices. This may be accomplished bydetermining a field of vision of the user and providing notificationsbased, at least in part, upon the field of vision of the user.

In accordance with one embodiment, a location of a mobile device may beobtained. In addition, a direction of movement of the mobile device maybe ascertained. A field of vision of a user of the mobile device may bedetermined based, at least in part, on the location of the mobile deviceand the direction of movement of the mobile device. A notification maybe provided via the mobile device based, at least in part, upon thefield of vision of the user.

In accordance with another embodiment, the notification may be providedbased, at least in part, upon a user profile. More particularly, alocation of a mobile device may be obtained. In addition, a direction ofmovement of the mobile device may be ascertained. A field of vision of auser of the mobile device may be determined based, at least in part, onthe location of the mobile device and the direction of movement of themobile device. A user profile associated with the user and/or the mobiledevice may be identified. A notification may be provided via the mobiledevice based, at least in part, upon the user profile and the field ofvision of the user.

Various embodiments may be implemented via a device comprising aprocessor, memory, and a display. The processor and memory areconfigured to perform one or more of the above described methodoperations. Other embodiments may be implemented via a computer readablestorage medium having computer program instructions stored thereon thatare arranged to perform one or more of the above described methodoperations.

These and other features and advantages of the disclosed embodimentswill be presented in more detail in the following specification and theaccompanying figures which illustrate by way of example the principlesof the disclosed embodiments.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating an example system in which variousembodiments may be implemented.

FIG. 2 is a process flow diagram illustrating an example method ofproviding a notification in accordance with various embodiments.

FIG. 3 is a process flow diagram illustrating an example method ofproviding a personalized notification in accordance with variousembodiments.

FIG. 4 is a schematic diagram illustrating an example embodiment of anetwork in which various embodiments may be implemented.

FIG. 5 is a schematic diagram illustrating an example client device inwhich various embodiments may be implemented.

FIG. 6 is a schematic diagram illustrating an example computer system inwhich various embodiments may be implemented.

DETAILED DESCRIPTION OF THE SPECIFIC EMBODIMENTS

Reference will now be made in detail to specific embodiments of thedisclosure. Examples of these embodiments are illustrated in theaccompanying drawings. While the disclosure will be described inconjunction with these specific embodiments, it will be understood thatit is not intended to limit the disclosure to these embodiments. On thecontrary, it is intended to cover alternatives, modifications, andequivalents as may be included within the spirit and scope of thedisclosure as defined by the appended claims. In the followingdescription, numerous specific details are set forth in order to providea thorough understanding of the disclosure. The disclosed embodimentsmay be practiced without some or all of these specific details. In otherinstances, well known process operations have not been described indetail in order not to unnecessarily obscure the disclosure. TheDetailed Description is not intended as an extensive or detaileddiscussion of known concepts, and as such, details that are knowngenerally to those of ordinary skill in the relevant art may have beenomitted or may be handled in summary fashion.

Subject matter will now be described more fully hereinafter withreference to the accompanying drawings, which form a part hereof, andwhich show, by way of illustration, specific example embodiments.Subject matter may, however, be embodied in a variety of different formsand, therefore, covered or claimed subject matter is intended to beconstrued as not being limited to any example embodiments set forthherein; example embodiments are provided merely to be illustrative.Likewise, a reasonably broad scope for claimed or covered subject matteris intended. Among other things, for example, subject matter may beembodied as methods, devices, components, or systems. Accordingly,embodiments may, for example, take the form of hardware, software,firmware or any combination thereof (other than software per se). Thefollowing detailed description is, therefore, not intended to be takenin a limiting sense.

Throughout the specification and claims, terms may have nuanced meaningssuggested or implied in context beyond an explicitly stated meaning.Likewise, the phrase “in one embodiment” as used herein does notnecessarily refer to the same embodiment and the phrase “in anotherembodiment” as used herein does not necessarily refer to a differentembodiment. It is intended, for example, that claimed subject matterinclude combinations of example embodiments in whole or in part.

In general, terminology may be understood at least in part from usage incontext. For example, terms, such as “and”, “or”, or “and/or,” as usedherein may include a variety of meanings that may depend at least inpart upon the context in which such terms are used. Typically, “or” ifused to associate a list, such as A, B or C, is intended to mean A, B,and C, here used in the inclusive sense, as well as A, B or C, here usedin the exclusive sense. In addition, the term “one or more” as usedherein, depending at least in part upon context, may be used to describeany feature, structure, or characteristic in a singular sense or may beused to describe combinations of features, structures or characteristicsin a plural sense. Similarly, terms, such as “a,” “an,” or “the,” again,may be understood to convey a singular usage or to convey a pluralusage, depending at least in part upon context. In addition, the term“based on” may be understood as not necessarily intended to convey anexclusive set of factors and may, instead, allow for existence ofadditional factors not necessarily expressly described, again, dependingat least in part on context.

In accordance with various embodiments, automated notifications may beprovided via a mobile device, which may also be referred to as aportable device or a handheld device. Examples of a mobile deviceinclude, but are not limited to, a cellular telephone, a smart phone, adisplay pager, a Personal Digital Assistant (PDA), a handheld computer,a tablet computer, and a laptop computer,

The notification may be provided in a non-intrusive manner. For example,the notification may be an auditory notification or a vibration.Accordingly, a user need not look at their mobile device to receive suchnotifications.

Various embodiments may be implemented, at least in part, by a mobiledevice and/or a remotely located server that is located in a remotelocation with respect to the mobile device. An example system in whichvarious embodiments may be implemented are described in further detailbelow with reference to FIG. 1.

Example System

FIG. 1 is a diagram illustrating an example system in which variousembodiments may be implemented. As shown in FIG. 1, the system mayinclude one or more servers 102. In accordance with various embodiments,the servers 102 may be associated with a web site such as a socialnetworking web site. Examples of social networking web sites includeYahoo, Facebook, Tumblr, LinkedIn, Flickr, and Meme. The server(s) 102may enable the web site to provide a variety of services to its users.More particularly, users of the web site may perform activities such asaccess user accounts or public user profiles, interact with othermembers of the web site, transmit messages, upload files (e.g.,photographs, videos), purchase goods or services, access information orcontent posted on the web site, etc.

In this example, the server(s) 102 may obtain or otherwise receive data(e.g., account data and/or user profile) and/or requests (e.g., requeststo access the web site, search requests or account requests pertainingto a particular user account). Requests may include requests sent viathe Internet 104 from one or more devices 106, 108, 110 in associationwith corresponding users 112, 114, 116, respectively. The server(s) 102may personalize content to be provided to users, either automatically orin response to requests. In addition, the server(s) 102 mayautomatically transmit or initiate notifications or otherwise supportthe transmission of notifications to be received via mobile device(s)such as 106 and 108, as will be described in further detail below.

The server(s) 102 may have access to one or more data stores 118 thatare coupled to the server(s) 102. Each of the data stores 118 mayinclude one or more memories. The data stores 118 may store accountinformation (e.g., data) for a plurality of user accounts and/or userprofiles, content, and/or other information supporting the automatedinitiation or transmission of notifications.

In order to simplify the following description, it is assumed that thedevice 106 is a mobile device of the user 112. However, it is importantto note that a user may have multiple mobile devices. Notifications maybe transmitted via one or more mobile devices for a given user.

In accordance with various embodiments, the server(s) 102 and/or mobiledevice 106 may provide notifications to its users via their mobiledevices for points of interest that are in front of the user. Statedanother way, the server(s) 102 and/or mobile device 106 may providenotifications to its users via their mobile devices for points ofinterest that are in the field of vision of the user. Therefore, thenotifications may be provided based, at least in part, upon a field ofvision of the user.

Generally, the field of vision may refer to the area that is visible toan immobile eye at a given time. Stated another way, the field of visionmay refer to the entire view encompassed by the eye trained in anyparticular direction. The field of vision may be the whole extent of theimage falling on the retina when the eye is fixating on a given point inspace. Thus, the field of vision may be the space or range within whichobjects are visible to immobile eyes at a given time.

While it may not be possible to precisely define an exact field ofvision of the user, it is possible to estimate a field of vision of theuser. In some implementations, an approximate field of vision of theuser may be determined based, at least in part, upon a location of theuser's mobile device and the direction in which the user of the mobiledevice is facing. The direction in which the user of the mobile deviceis facing may be assumed based upon the dominant direction in which theuser is moving or has most recently moved. For example, a GlobalPositioning System (GPS) and/or accelerometer may be implemented toestimate a dominant forward motion. In some implementations, atransformation may be applied to ascertain an orientation of the mobiledevice (e.g., in a pocket of the user) with respect to the directionthat the user is facing. The orientation of the mobile device mayfurther assist in approximating the field of vision of the user.

Notifications may be provided to notify the user of possible or probablepoints of interest within the field of vision of the user. To identifypossible or probable points of interest, objects in the user's field ofvision may be identified. Various methods of identifying objects in theuser's field of vision will be described in further detail below.

In some embodiments, objects in the user's field of vision may beidentified, at least in part, by accessing a resource (e.g., local orremotely located) such as a map. In addition, it is possible todetermine whether any of the identified objects might be of generalsignificance. For example, it is possible to determine from a map thatan object in the user's field of vision is a national landmark. As aresult, points of interest may be those that may be deemed to be ofgeneral significance or likely to be of interest to a majority of users.In some implementations, those identified objects that are likely to beof interest to the particular user may be selected, as will be describedin further detail below.

In addition, objects in the user's field of vision may be identified, atleast in part, by performing perform pattern recognition. For example,by performing pattern recognition, it may be possible to ascertain thatan animal is in the road. Since the identified object poses a safetyissue, the animal may be determined to be a point of interest. Asanother example, it is possible to identify a two-dimensional image ofan object presented in a digital image or video.

Moreover, in some embodiments, it may be possible to detect signalsemitted from other devices or entities, which may enable objects in theuser's field of vision to be identified. For example, by detectingunique signals emitted from other mobile devices, individuals in thefield of vision of the user may be identified. By cross-referencing aresource such as the user's contacts list, it is possible to identifythe individuals in the user's field of vision as the user's contacts orfriends, and therefore points of interest of the user. Accordingly,points of interest may be identified via signals and/or resources thatneed not include a user profile.

In accordance with various embodiments, the server(s) 102 and/or mobiledevice 106 may provide or initiate notifications to the mobile device106 based, at least in part, upon a user profile. More particularly, theserver(s) 102 and/or mobile device 106 may ascertain when a notificationis appropriate based, at least in part, upon the user profile. The userprofile may be associated with a user of the mobile device 106 and/ormay be associated with the mobile device 106.

By accessing a pertinent user profile, potential points of interestwithin the user's field of vision may be identified. In someembodiments, objects in the user's field of vision may be identified byaccessing resource(s) (e.g., a map and/or user contact list), performingpattern recognition, and/or detecting signals emitted via other devicesor Radio Frequency Identifier (RFID) tags. It is then possible toascertain from the user's profile whether any of the identified objectsmight be of interest to the user. Such points of interest may beimplicit (e.g., based upon information automatically gathered withrespect to the user) and/or explicit (e.g., based upon interests ornotification preferences specified by the user in the user profileand/or as specified in another resource such as a user contact list).For example, potential points of interest of the user may include one ormore individuals (e.g., friends or contacts of the user), a store,product(s), etc.

A user profile maintained at the server(s) 102 and/or the mobile device106 may include a set of notification preferences. While notificationpreferences may be associated with particular individual(s),notification preferences may also be associated with one or moreparticular mobile device(s). For example, where a user has multiplemobile devices, the notification preferences in the user profile mayassociate notification preferences with a specific one of the mobiledevices. As another example, the user may wish to associate differentnotification preferences with different devices.

A set of notification preferences may include one or more notificationpreferences. Each notification preference may be associated with aparticular user and/or mobile device(s). A user may be identified by anidentifier such as a username, an email address, deoxyribonucleic acid(DNA), retina scan, fingerprint, and/or other identifying information. Amobile device may be identified by an identifier such as an InternetProtocol (IP) address.

Notification preferences may be established as a set of defaultnotification preferences. Moreover, users may establish notificationpreferences or modify existing notification preferences. Notificationpreferences may be established via the web site and/or may be generatedlocally at the mobile device 106. As set forth above, user profile(s)including notification preferences may be stored remotely by theserver(s) 102 (e.g., at the data store(s) 118) and/or locally at thecorresponding mobile devices 106, 108, 110.

The notification preferences may indicate or specify condition(s) that,when satisfied, trigger the sending of a notification. Notifications maybe sent in the same manner regardless of the condition that issatisfied. Alternatively, a notification preference may be associatedwith a particular condition such that upon satisfaction of theparticular condition, the corresponding notification is provided orinitiated. For example, the user may wish for a vibration to be sent tothe user when the user walks North, and a particular audio notificationto be sent to the user when the user walks South. The notificationpreference may indicate or specify a number of notifications to beprovided, a length of time that a notification is to be provided, a typeof notification (e.g., audio or vibration), event(s) that wouldterminate the notification, a mobile device via which the notificationis to be provided, and/or volume of the notification. In some instances,some aspects of the notification may be determined independent from thenotification preferences. For example, where a user approaches aparticular store, a particular audio message may be presented to theuser that tells the user that the store is offering 25% off of all storeitems.

In accordance with various embodiments, content or notifications may bepersonalized for an individual (or a group of individuals) based, atleast in part, upon a user profile of the individual. Examples ofinformation that may be maintained in a user profile will be describedin further detail below.

A user profile may be updated under various circumstances. As will bedescribed in further detail below, an enormous amount of information maybe collected via web sites based upon various interactions (or lackthereof) of individuals with the content provided via the web sites. Forexample, the web sites may ascertain whether the individuals accessspecific content, which may or may not have been recommended by the websites. As another example, the web sites may record a number of clicksby individuals to various content items. In addition, the user profilemay be updated based upon content or applications accessed via a mobiledevice (e.g., in response to messages or requests transmitted by themobile device to the server(s)) 102. Information indicating responses ofthe users to notifications (or lack thereof) may also be collected.Using the collected information, the experience of the users may bepersonalized via the server(s) 102 and/or other devices such as mobiledevices.

When a notification is provided to a user via a mobile device,information pertaining to the response of the user to the notification(or lack thereof) may be collected. More particularly, the informationmay indicate whether the user responds to the notification, a time thatlapses between the notification and the user's response, and/or afurther action of the user with respect to a point of interest that isthe subject of the notification. For example, where a notificationpertains to a store of interest to the user, the mobile device mayascertain whether the user enters the store or purchases a product atthe store. This information may be stored locally at the mobile deviceand/or may be transmitted to the server(s) for use in updating thecorresponding user profile. For example, such updating may be performedat the server(s) and/or the mobile device according to a machinelearning algorithm.

The information that is obtained by the server(s) 102 may be stored inthe data stores 118. More particularly, the information may be stored,maintained, and/or updated in the data stores 118 such that theinformation is associated with the corresponding user. The informationmay include that gathered or obtained by the server(s) 102 as well asthat received from other device(s), which may include a mobile device. Adescription of the information that may be stored, maintained, andupdated in the data stores 118 will be described in further detailbelow.

Data Stores and User Profiles

The data stores 118 may store content or references to content, whichmay include content items, hypertext links via which content items maybe accessed, and/or URLs via which content items may be accessed. Thecontent may be indexed for efficient retrieval.

Content may include digital media items, which may include text, audio,video, photographs, and/or other images. For example, digital mediaitems may be accessed via a corresponding Uniform Resource Locator(URL). The term content as used herein may refer to a collection ofcontent or a specific content item, which may be one of a plurality ofcontent items within a collection of content.

Content accessible via the Internet may be contained within an object,such as a Web object, web page, web site, electronic document, or thelike. An item in a collection of content may be referred to as an “itemof content” or a “content item,” and may be retrieved from a “Web ofObjects” comprising objects made up of a variety of types of content.For example, a newspaper available via a particular web site may serveas a collection of content that includes a plurality of content items.

In addition, the data stores 118 may store information such as thecharacteristics of the content, which may be stored in association withthe content. More particularly, the content may be a collection ofcontent or a specific content item, which may be one of a plurality ofcontent items within a collection of content. For example, thecharacteristics of the content may indicate information such as anidentifier of a content item (e.g., a pointer to a digital version of acontent item or title of the content item), a primary subject or topicof the content item, one or more key words, results of analysis of thecontent item, one or more content categories indicating subject matterto which the content item relates, and/or an author or source of thecontent item.

Content and/or characteristics of content within a repository of mediaor multimedia within the data stores 118 may be annotated. Examples ofcontent may include text, images, audio, video, or the like, which maybe processed or stored in memory. The term “annotation,” as used herein,refers to descriptive or contextual content related to a content item,for example, collected from (or transmitted to) an individual, such as auser, and stored in association with the individual or the content item.Annotations may include various fields of descriptive content, such as arating of a document, circumstances or context pertaining to the receiptof a document, a list of keywords identifying topics of a document, etc.

In some embodiments, as an individual interacts with a softwareapplication or a device such as a mobile device, descriptive contentsuch as, for example, a date and/or time, may be identified and storedin the data stores 118 such that the descriptive content is stored inassociation with content. Descriptive content may also be stored alongwith contextual content. For example, how content such as a content itemcame to be identified (e.g., it was contained in a particular web page)may be stored in the data stores 118 as contextual content associatedwith the content. Contextual content, therefore, may identifycircumstances surrounding receipt of content (e.g., date or time acontent item was received or consumed and/or a source of the contentitem) and may be associated with descriptive content in the data stores118. Contextual content, may, for example, be used to subsequentlysearch for associated descriptive content. Accordingly, this additionalcontextual content and/or descriptive content may enable personalizationto be performed based upon the information that is most likely to berelevant.

In addition, the data stores 118 may include account information (e.g.,data) for a plurality of user accounts. Therefore, account informationpertaining to user accounts may be retained in one or more memories thatare coupled to the server 102.

The account information retained in the data stores 118 may includefinancial information such as credit card information, enabling goods orservices provided in association with the account to be purchased. Inaddition, the account information may include information pertaining togoods or services available to the user via the user account or used bythe user. More particularly, the account information may indicate anamount and/or quality of the goods or services available to the user orused by the user. In addition, the account information may indicate acost associated with the amount and/or quality of goods or servicesavailable to the user or used by the user.

The account information may also include or be linked to additionalinformation pertaining to the user. For example, the server(s) 102 mayhave access to additional user information, which may be retained in oneor more user logs stored in the data stores 118. This user informationor a portion thereof may be referred to as a user profile. Moreparticularly, the user profile may include public information that isavailable in a public profile and/or private information. Furthermore,the user profile may include information that has been submitted by theuser and/or information that has been deduced or automatically collectedby the system (e.g., based upon user action(s)). In accordance withvarious embodiments, as an individual consumes content provided via aweb site or via a device such as a mobile device, the user profile maybe updated.

A profile builder may initiate generation of a profile, such as forusers of an application, including a search engine or messagingapplication, for example. A profile builder may initiate generation of auser profile for use, for example, by a user, as well as by an entitythat may have provided the application. For example, a profile buildermay enhance relevance determinations and thereby assist in indexing,searching or ranking search results, as well as assist in theidentification of further content to be provided via various media.Therefore, a provider such as a search engine provider may employ aprofile builder.

A variety of mechanisms may be implemented to generate and/or update aprofile including, but not limited to, collecting or mining navigationhistory, stored documents, tags, or annotations, to provide a fewexamples. In addition, the profile may be updated with informationgathered as a result of the use of a device such as a mobile device. Aprofile builder may store a generated or updated profile.

Through the use of user profiles, for example, a web site such as asearch engine provider may retrieve annotations, tags, stored pages,navigation history, or the like, which may be useful for makingrelevance determinations of search results, content, and/or objects inthe field of vision of a user. Therefore, content or notifications to beprovided to users may be identified using the user profiles.

The user information retained in the user logs 118 may include personalinformation such as demographic information and/or geographicinformation. Examples of demographic information include age and gender.Examples of geographic information include residence address, workaddress, and/or zip code.

Each time an individual performs online activities such as clicking on acontent item (e.g., an advertisement or media item), purchasing goods orservices, sending messages, retrieving messages, accessing a media item,posting information or content, or annotating content, informationregarding such activity or activities may be retained as user data inthe user logs 118. For instance, the user data that is retained in theuser logs 118 may indicate the identity of web sites visited, identityof ads or content items that have been selected (e.g., clicked on) viathe web site, and/or a timestamp indicating a date and/or time that theindividual viewed or accessed the content item. Moreover, where theonline publisher supports a search engine (e.g., via the server 102 or aseparate search server), information associated with a search query,such as search term(s) of the search query, information indicatingcharacteristics of search results that have been selected (e.g., clickedon) by the individual, and/or associated timestamp may also be retainedin the user logs 118. Thus, the information may indicate whether theindividual clicked on or viewed a content item and, if so, the number ofclicks or views within a particular time period. An individual may beidentified in the user logs 118 by a user ID (e.g., user account ID),email address, DNA, fingerprint, information in a user cookie, etc.

Each user profile may be associated with an individual and/or device,which may be identified by a device identifier such as an InternetProtocol (IP) address. Although user profiles are described withreference to data store(s) 118 coupled to the server(s) 102, such a userprofile may also be stored, maintained, and/or updated locally at themobile device 106.

A user profile may include a set of user preferences. In someembodiments, the set of user preferences includes a set of notificationpreferences. The set of notification preferences may be a defaultconfiguration or may be established by a user, enabling notifications tobe sent in accordance with the set of notification preferences. Eachnotification preference in a set of notification preferences may beassociated with a user and/or device. A notification preference mayinclude or otherwise indicate a condition that, when satisfied, triggersthe transmission of a notification via a mobile device. In addition, anotification preference may specify or otherwise indicate a manner inwhich the notification is to be provided. In some embodiments, the setof notification preferences may pertain generally to all notificationstransmitted via the mobile device. Example notification preferencesinclude, but are not limited to, manner of transmission (e.g., vibrationor audio), volume, length of time notification is to be provided, deviceidentifier identifying the mobile device via which the notification isto be transmitted, condition to be satisfied before the notification isprovided, and/or event(s) that will result in termination or cancellingof the notification.

Based upon the information recorded in user profiles, a machine learningalgorithm may learn how to identify characteristics of items (e.g.,content or points of interest) that may be of interest to individuals(or a similarly situated group of individuals) in the future. Content ornotifications pertaining to a point of interest of the user may beprovided to the user based, at least in part, upon the informationrecorded in the user profile

Moreover, the server(s) 102 and/or mobile device 106 may be configuredto access one or more resources that may include, but are not limitedto, map(s), product stock-keeping units (SKUs), and/or user contacts.For example, these resources may be stored in the data store(s) 118and/or may be accessible via another web site.

Each mobile device 106 may also store a user profile. Information storedin a user profile at the mobile device 106 may be shared with (e.g.,transmitted to) the server(s). Similarly, information stored in a userprofile at the server(s) 102 may be shared with (e.g., transmitted to)the mobile device(s) 106.

Where a user profile is stored at the mobile device, the locally storeduser profile may include less information than a user profile that isstored remotely. For example, the locally stored user profile mayinclude a set of notification preferences, but may not includeinformation pertaining to the user's browsing activity. Therefore, auser profile stored at the mobile device need not be identical to aremotely stored user profile.

Example Embodiments

The disclosed embodiments may be implemented at the server(s) and/or themobile device. Various example methods of providing a notification willbe described in further detail below with reference to FIG. 2 and FIG.3.

Notification Process

FIG. 2 is a process flow diagram illustrating an example method ofproviding a notification in accordance with various embodiments. Toprovide a notification that is useful to the user, a location of amobile device that the user has in his or her possession may be obtainedat 202 by the server(s) and/or the mobile device. This may beaccomplished, for example, via a Global Positioning System (GPS) of themobile device. The location of the mobile device may alone enable themobile device to provide a notification. For example, a weather forecastfor that location may be provided via the mobile device. However, itwould also be beneficial to determine the direction that the user isfacing. Since the mobile device may be in the user's pocket or may notcurrently be in use by the user, the mobile device may be in anyposition. As a result, it is not possible to use the position of themobile device to determine the direction in which the user is facing.However, when a user moves (e.g. walks or drives), it may be assumedthat the user is facing in the direction in which the user is moving.Thus, a direction of movement of the mobile device may be ascertained at204 by the server(s) and/or the mobile device. The direction in whichthe user is moving may be ascertained based, at least in part, upon anaccelerometer and/or GPS. Therefore, the current or recent direction ofmovement of the mobile device may indicate the direction that the useris likely facing.

The server(s) and/or mobile device may determine a field of vision(i.e., visual field) of the user of the mobile device based, at least inpart, on the location of the mobile device and the direction of movement(or most recent direction of movement) of the mobile device at 206. Moreparticularly, the field of vision may be an estimated area, which may bedefined by a region that may be located on a map. For example, it may beassumed that the user can view objects within a distance of one mileaway. The distance may extend in front of the user, as well as to thesides of the user. Thus, the field of vision may be an area in the shapeof a semi-circle. As another example, the field of vision may be atriangular area that extends outward from the user. In this manner, aregion defining the user's likely field of vision may be estimated.

The server(s) and/or the mobile device may provide a notification at 208via the mobile device based, at least in part, upon the field of visionof the user. More particularly, the server(s) and/or mobile device mayidentify one or more points of interest within the field of vision ofthe user. Points of interest in the field of vision of the user may beidentified, for example, via pattern recognition, signal detection,and/or one or more resources. The resources may be local or remotelylocated. In addition, the resources may include one or more data storesand/or web site(s). Example resources include product databases mappingSKUs to product names and/or characteristics, maps, and contact lists.

The notification may pertain to one or more points of interest withinthe field of vision of the user. Example points of interest include, butare not limited to, individual(s), object(s) such as products, buildings(e.g, stores), landmarks, etc. For example, the notification may pertainto a coupon for a product or store in the field of vision of the user.In some embodiments, the points of interest may be identified based, atleast in part, upon a user profile, as will be described in furtherdetail below with reference to FIG. 3.

The notification may be provided when the point of interest enters intoor is in the field of vision of the user. In some instances, the pointof interest may be in close proximity to the user. However, the point ofinterest need not be in close proximity to the user. Rather, the pointof interest may simply be visible to the user in the distance.

As described above, notifications may be provided to a user independentfrom his or her user profile. For example, when the user approaches aparticular parking spot in their car, an audio notification stating thatstreet cleaning starts in half an hour may be provided to the user.However, in some instances, it may be desirable to personalize thenotification process. Example embodiments for personalizing thenotification process will be described in further detail below.

Personalized Notification Process

When a user turns on or otherwise accesses a mobile device, an identityof the user of the mobile device may be ascertained via a variety ofmechanisms. In some embodiments, an identity of the user (e.g., owner)of the device may be statically configured. Thus, the device may bekeyed to an owner or multiple owners. In other embodiments, the devicemay automatically determine the identity of the user of the device. Forinstance, a user of the device may be identified by DNA, a retina scan,and/or finger print. In yet other embodiments, the user may submit anidentifier (e.g., username or email address) and/or information forauthenticating the user (e.g., password).

In addition, an identifier associated with the mobile device may beobtained. For example, the identifier associated with the mobile devicemay include an IP address. The identifier may be statically ordynamically configured at the mobile device.

Information including the identity of the user and/or an identity of themobile device may be transmitted by the mobile device to the server(s).The identity of the user of the mobile device and/or the identity of themobile device may be used to identify a corresponding user profile. Forexample, the server(s) may identify the user profile that corresponds tothe user and/or mobile device. The server(s) may provide the userprofile to the mobile device for use in generating notifications.Alternatively, the server(s) may generate notifications based, at leastin part, upon the user profile. In other embodiments, a user profile maybe accessed and/or stored locally at the mobile device, which maygenerate notifications without communicating with an external server.

Notifications may be provided such that they are non-intrusive. Examplenotifications include vibrations, ring tones, and audio messages.

FIG. 3 is a process flow diagram illustrating an example method ofproviding a personalized notification in accordance with variousembodiments. As described above, a location of a mobile device that theuser has in his or her possession may be obtained at 302 by theserver(s) and/or the mobile device. This may be accomplished, forexample, via a Global Positioning System (GPS) of the mobile device. Inaddition, a direction of movement of the mobile device may beascertained at 304. The direction in which the user is moving may beascertained based, at least in part, upon an accelerometer and/or GPS.

A field of vision (i.e., visual field) of the user of the mobile devicemay be determined by the server(s) and/or the mobile device based, atleast in part, on the location of the mobile device and the current (ormost recent) direction of movement of the mobile device at 306. As setforth above, the field of vision may be an estimated area.

A user profile associated with the user and/or the mobile device may beidentified at 308 by the server(s) and/or the mobile device. Forexample, the user profile may be identified based, at least in part,upon a user identifier and/or device identifier. As set forth above, auser profile may include information pertaining to user characteristicsof the user that have been explicitly provided by the user and/or havebeen ascertained via collected data. In addition, a user profile mayinclude user preferences such as notification preferences.

A user profile may be stored at the server(s) and/or the mobile device.Where a user profile is generated and/or stored locally, the userprofile or set of notification preferences therein may be transmitted tothe remotely located server(s) for storage at the remotely located datastore(s). Conversely, where a user profile is generated and/or storedremotely, the user profile or set of notification preferences thereinmay be identified and transmitted to the mobile device. Therefore, theserver(s) and/or mobile device may initiate or provide notificationsaccording to the user profile (and any notification preferences).

The server(s) and/or the mobile device may provide a notification at 310via the mobile device based, at least in part, upon the field of visionof the user and the user profile. The notification may pertain to one ormore points of interest within the field of vision of the user. Moreparticularly, the server(s) and/or mobile device may identify one ormore possible points of interest within the field of vision of the user.In some embodiments, the server(s) and/or mobile node may identifypossible points of interest in the field of vision of the user viapattern recognition, signal detection, and/or by accessing one or moreresources. Example resources include, but are not limited to, maps, usercontact lists, and product SKU databases.

A point of interest in the field of vision of the user may be identifiedbased, at least in part, upon the user profile. More particularly, apoint of interest that is likely to be of interest to the user may beselected from one of the possible points of interest based, at least inpart, upon the user profile. For example, where the user is determinedto be interested in wine tasting, the point of interest may be a venuewithin the user's field of vision that is offering wine tasting. Asanother example, a set of notification preferences established by theuser may indicate that the user wishes to be notified when the user isnear a McDonald's restaurant.

The notification may be provided when the point of interest enters intoor is in the field of vision of the user. In some instances, the pointof interest may be in close proximity to the user. However, the point ofinterest need not be in close proximity to the user. Rather, the pointof interest may simply be visible to the user in the distance.

The notification may be provided such that it is considerednon-intrusive by the user. For example, the notification may be avibration of the mobile device. As another example, the notification maybe an audio notification.

The manner in which the notification is transmitted may be ascertainedfrom a set of notification preferences of the user. Example notificationpreferences include, but are not limited to, manner of transmission(e.g., vibration, audio ring tone, or audio message), volume, period oftime or number of times the notification is to be provided, deviceidentifier identifying the mobile device via which the notification isto be transmitted, condition to be satisfied before the notification isprovided, and/or event(s) that will result in termination or cancellingof the notification. For example, the set of notification preferencesmay indicate that a notification pertaining to McDonald's restaurants inthe user's field of vision be provided via a vibration, while all othernotifications be provided via an audio notification. As another example,the set of notification preferences may indicate that when an individualthat the user knows enters or is in the user's field of vision, an audionotification providing the name of the individual should be transmitted.As a result, when the user turns in a direction facing the individual,the user will be prompted with the individual's name.

A notification may be provided until it is completed according to thenotification preferences. In some instances, the notification may beprovided until the user responds.

In some embodiments, once a notification has been provided, the user maychoose to respond to the notification or ignore the notification. Forexample, the user may choose to terminate the notification by performingan event such as shaking the mobile phone or pressing a button on themobile phone. As another example, the user may choose to enter a storefor which a notification was provided.

The user's response to a notification or lack thereof may be obtained ordetected as feedback. The feedback may be recorded in the user profile,and may be used to update a machine learning algorithm that selectscontent and/or notifications to be provided to the user.

Further content and/or notifications may be provided to the user based,at least in part, upon the feedback that has been detected or obtained.For example, if the user enters a store for which a notification isprovided, the user's activity may be recorded in the user profile as apositive response with respect to the store. In the future,notifications may continue to be provided to the user when the userencounters the store or a similar store. As another example, if the userdoes not enter a store for which a notification is provided, the user'sactivity may be recorded in the user profile as a negative response withrespect to the store. In the future, it may be less likely thatnotifications will be provided to the user when the user encounters thestore or a similar store.

Network

A network may couple devices so that communications may be exchanged,such as between a server and a client device or other types of devices,including between wireless devices coupled via a wireless network, forexample. A network may also include mass storage, such as networkattached storage (NAS), a storage area network (SAN), or other forms ofcomputer or machine readable media, for example. A network may includethe Internet, one or more local area networks (LANs), one or more widearea networks (WANs), wire-line type connections, wireless typeconnections, or any combination thereof. Likewise, sub-networks, such asmay employ differing architectures or may be compliant or compatiblewith differing protocols, may interoperate within a larger network.Various types of devices may, for example, be made available to providean interoperable capability for differing architectures or protocols. Asone illustrative example, a router may provide a link between otherwiseseparate and independent LANs.

A communication link or channel may include, for example, analogtelephone lines, such as a twisted wire pair, a coaxial cable, full orfractional digital lines including T1, T2, T3, or T4 type lines,Integrated Services Digital Networks (ISDNs), Digital Subscriber Lines(DSLs), wireless links including satellite links, or other communicationlinks or channels, such as may be known to those skilled in the art.Furthermore, a computing device or other related electronic devices maybe remotely coupled to a network, such as via a telephone line or link,for example.

Content Distribution Network

A distributed system may include a content distribution network. A“content delivery network” or “content distribution network” (CDN)generally refers to a distributed content delivery system that comprisesa collection of computers or computing devices linked by a network ornetworks. A CDN may employ software, systems, protocols or techniques tofacilitate various services, such as storage, caching, communication ofcontent, or streaming media or applications. Services may also make useof ancillary technologies including, but not limited to, “cloudcomputing,” distributed storage, DNS request handling, provisioning,signal monitoring and reporting, content targeting, personalization, orbusiness intelligence. A CDN may also enable an entity to operate ormanage another's site infrastructure, in whole or in part.

Peer-to-Peer Network

A peer-to-peer (or P2P) network may employ computing power or bandwidthof network participants in contrast with a network that may employdedicated devices, such as dedicated servers, for example; however, somenetworks may employ both as well as other approaches. A P2P network maytypically be used for coupling nodes via an ad hoc arrangement orconfiguration. A peer-to-peer network may employ some nodes capable ofoperating as both a “client” and a “server.”

Wireless Network

A wireless network may couple client devices with a network. A wirelessnetwork may employ stand-alone ad-hoc networks, mesh networks, WirelessLAN (WLAN) networks, cellular networks, or the like.

A wireless network may further include a system of terminals, gateways,routers, or the like coupled by wireless radio links, or the like, whichmay move freely, randomly or organize themselves arbitrarily, such thatnetwork topology may change, at times even rapidly. A wireless networkmay further employ a plurality of network access technologies, includingLong Term Evolution (LTE), WLAN, Wireless Router (WR) mesh, or 2nd, 3rd,or 4th generation (2G, 3G, or 4G) cellular technology, or the like.Network access technologies may enable wide area coverage for devices,such as client devices with varying degrees of mobility, for example.

For example, a network may enable RF or wireless type communication viaone or more network access technologies, such as Global System forMobile communication (GSM), Universal Mobile Telecommunications System(UMTS), General Packet Radio Services (GPRS), Enhanced Data GSMEnvironment (EDGE), 3GPP Long Term Evolution (LTE), LTE Advanced,Wideband Code Division Multiple Access (WCDMA), Bluetooth, 802.11b/g/n,or the like. A wireless network may include virtually any type ofwireless communication mechanism by which signals may be communicatedbetween devices, such as a client device or a computing device, betweenor within a network, or the like.

Internet Protocol

Signal packets communicated via a network, such as a network ofparticipating digital communication networks, may be compatible with orcompliant with one or more protocols. Signaling formats or protocolsemployed may include, for example, TCP/IP, UDP, DECnet, NetBEUI, IPX,Appletalk, or the like. Versions of the Internet Protocol (IP) mayinclude IPv4 or IPv6.

The Internet refers to a decentralized global network of networks. TheInternet includes LANs, WANs, wireless networks, or long haul publicnetworks that, for example, allow signal packets to be communicatedbetween LANs. Signal packets may be communicated between nodes of anetwork, such as, for example, to one or more sites employing a localnetwork address. A signal packet may, for example, be communicated overthe Internet from a user site via an access node coupled to theInternet. Likewise, a signal packet may be forwarded via network nodesto a target site coupled to the network via a network access node, forexample. A signal packet communicated via the Internet may, for example,be routed via a path of gateways, servers, etc. that may route thesignal packet in accordance with a target address and availability of anetwork path to the target address.

Social Network

The term “social network” refers generally to a network of individuals,such as acquaintances, friends, family, colleagues, or co-workers,coupled via a communications network or via a variety of sub-networks.Potentially, additional relationships may subsequently be formed as aresult of social interaction via the communications network orsub-networks. A social network may be employed, for example, to identifyadditional connections for a variety of activities, including, but notlimited to, dating, job networking, receiving or providing servicereferrals, content sharing, creating new associations, maintainingexisting associations, identifying potential activity partners,performing or supporting commercial transactions, or the like.

A social network may include individuals with similar experiences,opinions, education levels or backgrounds. Subgroups may exist or becreated according to user profiles of individuals, for example, in whicha subgroup member may belong to multiple subgroups. An individual mayalso have multiple “1:few” associations within a social network, such asfor family, college classmates, or co-workers.

An individual's social network may refer to a set of direct personalrelationships or a set of indirect personal relationships. A directpersonal relationship refers to a relationship for an individual inwhich communications may be individual to individual, such as withfamily members, friends, colleagues, co-workers, or the like. Anindirect personal relationship refers to a relationship that may beavailable to an individual with another individual although no form ofindividual to individual communication may have taken place, such as afriend of a friend, or the like. Different privileges or permissions maybe associated with relationships in a social network. A social networkalso may generate relationships or connections with entities other thana person, such as companies, brands, or so called ‘virtual persons.’ Anindividual's social network may be represented in a variety of forms,such as visually, electronically or functionally. For example, a “socialgraph” or “socio-gram” may represent an entity in a social network as anode and a relationship as an edge or a link.

Multi-Modal Communication (MMC)

Individuals within one or more social networks may interact orcommunicate with other members of a social network via a variety ofdevices. Multi-modal communication technologies refers to a set oftechnologies that permit interoperable communication across multipledevices or platforms, such as cellphones, smart phones, tablet computingdevices, personal computers, televisions, SMS/MMS, email, instantmessenger clients, forums, social networking sites (such as Facebook,Twitter, or Google), or the like.

Network Architecture

The disclosed embodiments may be implemented in any of a wide variety ofcomputing contexts. FIG. 4 is a schematic diagram illustrating anexample embodiment of a network. Other embodiments that may vary, forexample, in terms of arrangement or in terms of type of components, arealso intended to be included within claimed subject matter.Implementations are contemplated in which users interact with a diversenetwork environment. As shown, FIG. 4, for example, includes a varietyof networks, such as a LAN/WAN 705 and wireless network 700, a varietyof devices, such as client devices 701-704, and a variety of serverssuch as content server(s) 707 and search server 706. The servers mayalso include an ad server (not shown). As shown in this example, theclient devices 701-704 may include one or more mobile devices 702, 703,704. Client device(s) 701-704 may be implemented, for example, via anytype of computer (e.g., desktop, laptop, tablet, etc.), media computingplatforms (e.g., cable and satellite set top boxes), handheld computingdevices (e.g., PDAs), cell phones, or any other type of computing orcommunication platform.

The disclosed embodiments may be implemented in some centralized manner.This is represented in FIG. 4 by server(s) 707, which may correspond tomultiple distributed devices and data store(s). The server(s) 707 and/orcorresponding data store(s) may store user account data, userinformation, and/or content.

Server

A computing device may be capable of sending or receiving signals, suchas via a wired or wireless network, or may be capable of processing orstoring signals, such as in memory as physical memory states, and may,therefore, operate as a server. Thus, devices capable of operating as aserver may include, as examples, dedicated rack-mounted servers, desktopcomputers, laptop computers, set top boxes, integrated devices combiningvarious features, such as two or more features of the foregoing devices,or the like.

Servers may vary widely in configuration or capabilities, but generallya server may include one or more central processing units and memory. Aserver may also include one or more mass storage devices, one or morepower supplies, one or more wired or wireless network interfaces, one ormore input/output interfaces, or one or more operating systems, such asWindows Server, Mac OS X, Unix, Linux, FreeBSD, or the like.

Content Server

A content server may comprise a device that includes a configuration toprovide content via a network to another device. A content server may,for example, host a site, such as a social networking site, examples ofwhich may include, without limitation, Flicker, Twitter, Facebook,LinkedIn, or a personal user site (such as a blog, vlog, online datingsite, etc.). A content server may also host a variety of other sites,including, but not limited to business sites, educational sites,dictionary sites, encyclopedia sites, wikis, financial sites, governmentsites, etc.

A content server may further provide a variety of services that include,but are not limited to, web services, third-party services, audioservices, video services, email services, instant messaging (IM)services, SMS services, MMS services, FTP services, voice over IP (VOIP)services, calendaring services, photo services, or the like. Examples ofcontent may include text, images, audio, video, or the like, which maybe processed in the form of physical signals, such as electricalsignals, for example, or may be stored in memory, as physical states,for example. Examples of devices that may operate as a content serverinclude desktop computers, multiprocessor systems, microprocessor-typeor programmable consumer electronics, etc.

Crawler

A crawler may be operable to communicate with a variety of contentservers, typically via a network. In some embodiments, a crawler startswith a list of URLs to visit. The list may be called a seed list. As thecrawler visits the URLs in the seed list, it identifies all thehyperlinks in the page and adds them to a list of URLs to visit, calledthe crawl frontier. URLs from the crawler frontier are recursivelyvisited according to a set of policies. A crawler typically retrievesfiles by generating a copy for storage, such as local cache storage. Acache refers to a persistent storage device. A crawler may likewisefollow links, such as HTTP hyperlinks, in the retrieved file toadditional files and may retrieve those files by generating copy forstorage, and so forth. A crawler may therefore retrieve files from aplurality of content servers as it “crawls” across a network.

Indexing

An indexer may be operable to generate an index of content, includingassociated contextual content, such as for one or more databases, whichmay be searched to locate content, including contextual content. Anindex may include index entries, wherein an index entry may be assigneda value referred to as a weight. An index entry may include a portion ofthe database. In some embodiments, an indexer may use an inverted indexthat stores a mapping from content to its locations in a database file,or in a document or a set of documents. A record level inverted indexcontains a list of references to documents for each word. A word levelinverted index additionally contains the positions of each word within adocument. A weight for an index entry may be assigned. For example, aweight, in one example embodiment may be assigned substantially inaccordance with a difference between the number of records indexedwithout the index entry and the number of records indexed with the indexentry.

Client Device

FIG. 5 is a schematic diagram illustrating an example embodiment of aclient device in which various embodiments may be implemented. A clientdevice may include a computing device capable of sending or receivingsignals, such as via a wired or a wireless network. A client device may,for example, include a desktop computer or a portable device, such as acellular telephone, a smart phone, a display pager, a radio frequency(RF) device, an infrared (IR) device, a Personal Digital Assistant(PDA), a handheld computer, a tablet computer, a laptop computer, a settop box, a wearable computer, an integrated device combining variousfeatures, such as features of the forgoing devices, or the like. Aportable device may also be referred to as a mobile device or handhelddevice.

As shown in this example, a client device 800 may include one or morecentral processing units (CPUs) 822, which may be coupled via connection824 to a power supply 826 and a memory 830. The memory 830 may includerandom access memory (RAM) 832 and read only memory (ROM) 834. The ROM834 may include a basic input/output system (BIOS) 840.

The RAM 832 may include an operating system 841. More particularly, aclient device may include or may execute a variety of operating systems,including a personal computer operating system, such as a Windows, iOSor Linux, or a mobile operating system, such as iOS, Android, or WindowsMobile, or the like. The client device 800 may also include or mayexecute a variety of possible applications 842 (shown in RAM 832), suchas a client software application such as messenger 843, enablingcommunication with other devices, such as communicating one or moremessages, such as via email, short message service (SMS), or multimediamessage service (MMS), including via a network, such as a socialnetwork, including, for example, Facebook, LinkedIn, Twitter, Flickr, orGoogle, to provide only a few possible examples. The client device 800may also include or execute an application to communicate content, suchas, for example, textual content, multimedia content, or the like, whichmay be stored in data storage 844. A client device may also include orexecute an application such as a browser 845 to perform a variety ofpossible tasks, such as browsing, searching, playing various forms ofcontent, including locally stored or streamed video, or games (such asfantasy sports leagues).

The client device 800 may send or receive signals via one or moreinterface(s). As shown in this example, the client device 800 mayinclude one or more network interfaces 850. The client device 800 mayinclude an audio interface 852. In addition, the client device 800 mayinclude a display 854 and an illuminator 858. The client device 800 mayfurther include an Input/Output interface 860, as well as a HapticInterface 862 supporting tactile feedback technology.

The client device 800 may vary in terms of capabilities or features.Claimed subject matter is intended to cover a wide range of potentialvariations. For example, a cell phone may include a keypad such 856 suchas a numeric keypad or a display of limited functionality, such as amonochrome liquid crystal display (LCD) for displaying text. Incontrast, however, as another example, a web-enabled client device mayinclude one or more physical or virtual keyboards, mass storage, one ormore accelerometers, one or more gyroscopes, global positioning system(GPS) 864 or other location identifying type capability, or a displaywith a high degree of functionality, such as a touch-sensitive color 2Dor 3D display, for example. The foregoing is provided to illustrate thatclaimed subject matter is intended to include a wide range of possiblefeatures or capabilities.

According to various embodiments, input may be obtained using a widevariety of techniques. For example, input for downloading or launchingan application may be obtained via a graphical user interface from auser's interaction with a local application such as a mobile applicationon a mobile device, web site or web-based application or service and maybe accomplished using any of a variety of well-known mechanisms forobtaining information from a user. However, it should be understood thatsuch methods of obtaining input from a user are merely examples and thatinput may be obtained in many other ways.

FIG. 6 illustrates a typical computer system that, when appropriatelyconfigured or designed, can serve as a system via which variousembodiments may be implemented. The computer system 1200 includes anynumber of CPUs 1202 that are coupled to storage devices includingprimary storage 1206 (typically a RAM), primary storage 1204 (typicallya ROM). CPU 1202 may be of various types including microcontrollers andmicroprocessors such as programmable devices (e.g., CPLDs and FPGAs) andunprogrammable devices such as gate array ASICs or general purposemicroprocessors. As is well known in the art, primary storage 1204 actsto transfer data and instructions uni-directionally to the CPU andprimary storage 1206 is used typically to transfer data and instructionsin a bi-directional manner. Both of these primary storage devices mayinclude any suitable computer-readable media such as those describedabove. A mass storage device 1208 is also coupled bi-directionally toCPU 1202 and provides additional data storage capacity and may includeany of the computer-readable media described above. Mass storage device1208 may be used to store programs, data and the like and is typically asecondary storage medium such as a hard disk. It will be appreciatedthat the information retained within the mass storage device 1208, may,in appropriate cases, be incorporated in standard fashion as part ofprimary storage 1206 as virtual memory. A specific mass storage devicesuch as a CD-ROM 1214 may also pass data uni-directionally to the CPU.

CPU 1202 may also be coupled to an interface 1210 that connects to oneor more input/output devices such as such as video monitors, trackballs, mice, keyboards, microphones, touch-sensitive displays,transducer card readers, magnetic or paper tape readers, tablets,styluses, voice or handwriting recognizers, or other well-known inputdevices such as, of course, other computers. Finally, CPU 1202optionally may be coupled to an external device such as a database or acomputer or telecommunications network using an external connection asshown generally at 1212. With such a connection, it is contemplated thatthe CPU might receive information from the network, or might outputinformation to the network in the course of performing the method stepsdescribed herein.

Regardless of the system's configuration, it may employ one or morememories or memory modules configured to store data, programinstructions for the general-purpose processing operations and/or theinventive techniques described herein. The program instructions maycontrol the operation of an operating system and/or one or moreapplications, for example. The memory or memories may also be configuredto store instructions for performing the disclosed methods, graphicaluser interfaces to be displayed in association with the disclosedmethods, etc.

Because such information and program instructions may be employed toimplement the systems/methods described herein, the disclosedembodiments relate to machine readable media that include programinstructions, state information, etc. for performing various operationsdescribed herein. Examples of machine-readable media include, but arenot limited to, magnetic media such as hard disks, floppy disks, andmagnetic tape; optical media such as CD-ROM disks; magneto-optical mediasuch as optical disks; and hardware devices that are speciallyconfigured to store and perform program instructions, such as ROM andRAM. Examples of program instructions include both machine code, such asproduced by a compiler, and files containing higher level code that maybe executed by the computer using an interpreter.

Computer program instructions with which various embodiments areimplemented may be stored in any type of computer-readable media, andmay be executed according to a variety of computing models including aclient/server model, a peer-to-peer model, on a stand-alone computingdevice, or according to a distributed computing model in which variousof the functionalities described herein may be effected or employed atdifferent locations.

The disclosed techniques may be implemented in any suitable combinationof software and/or hardware system, such as a web-based server ordesktop computer system. Moreover, a system implementing variousembodiments may be a portable device, such as a laptop or cell phone. Anapparatus and/or web browser may be specially constructed for therequired purposes, or it may be a general-purpose computer selectivelyactivated or reconfigured by a computer program and/or data structurestored in the computer. The processes presented herein are notinherently related to any particular computer or other apparatus. Inparticular, various general-purpose machines may be used with programswritten in accordance with the teachings herein, or it may be moreconvenient to construct a more specialized apparatus to perform thedisclosed method steps.

Although the foregoing embodiments have been described in some detailfor purposes of clarity of understanding, it will be apparent thatcertain changes and modifications may be practiced within the scope ofthe appended claims. Therefore, the present embodiments are to beconsidered as illustrative and not restrictive, and are not to belimited to the details given herein, but may be modified within thescope and equivalents of the appended claims.

What is claimed is:
 1. A method, comprising: obtaining a location of amobile device; ascertaining a direction of movement of the mobiledevice; determining a field of vision of a user of the mobile devicebased, at least in part, on the location of the mobile device and thedirection of movement of the mobile device, wherein determining thefield of vision of the user includes estimating an area that extendsoutward from the user; identifying a point of interest within the fieldof vision of the user; identifying a user profile associated with theuser and/or the mobile device; and providing a notification via themobile device based, at least in part, upon the user profile and thepoint of interest within the field of vision of the user.
 2. The methodas recited in claim 1, wherein the notification comprises a vibration ofthe mobile device.
 3. The method a recited in claim 1, wherein the userprofile indicates a set of notification preferences of the user suchthat the notification is provided according to the set of notificationpreferences.
 4. The method as recited in claim 1, wherein identifyingthe point of interest is performed based, at least in part, upon theuser profile; wherein the notification pertains to the point ofinterest; wherein the notification is provided when the point ofinterest enters into or is in the field of vision of the user.
 5. Themethod as recited in claim 4, wherein the point of interest comprises anindividual or a product.
 6. The method as recited in claim 1, furthercomprising: identifying one or more possible points of interest in thefield of vision of the user based, at least in part, upon a detection ofsignals emitted by a device or entity other than the mobile deviceand/or pattern recognition; and selecting at least one point of interestfrom the possible points of interest based, at least in part, upon theuser profile; wherein the notification pertains to the selected point ofinterest in the field of vision of the user.
 7. The method as recited inclaim 1, further comprising: obtaining or detecting feedback from theuser of the mobile device after the notification has been provided;wherein further notifications are provided based, at least in part, uponthe feedback that has been obtained or detected.
 8. The method asrecited in claim 1, wherein determining a field of vision of a user ofthe mobile device is further based, at least in part, on an orientationof the mobile device.
 9. The method as recited in claim 1, wherein thearea is a triangular or semi-circular region.
 10. A non-transitorycomputer-readable medium storing thereon computer-readable instructions,comprising: instructions for obtaining a location of a mobile device;instructions for ascertaining a direction of movement of the mobiledevice; instructions for determining a field of vision of a user of themobile device based, at least in part, on the location of the mobiledevice and the direction of movement of the mobile device, whereindetermining the field of vision of the user includes estimating an areathat extends outward from the user; instructions for identifying a pointof interest within the field of vision of the user; and instructions forproviding a notification via the mobile device based, at least in part,upon the point of interest within the field of vision of the user. 11.The non-transitory computer-readable medium as recited in claim 10,wherein the notification comprises a vibration of the mobile device. 12.The non-transitory computer-readable medium as recited in claim 10,wherein the notification pertains to the point of interest in the fieldof vision of the user.
 13. The non-transitory computer-readable mediumas recited in claim 12, wherein the point of interest is a product,wherein the notification pertains to a coupon for the product.
 14. Thenon-transitory computer-readable medium as recited in claim 10, whereinthe notification is provided when the point of interest enters into thefield of vision of the user.
 15. The non-transitory computer-readablemedium as recited in claim 10, further comprising: instructions foridentifying one or more points of interest in the field of vision of theuser based, at least in part, upon signals emitted by a Radio FrequencyIdentifier (RFID) tag; wherein the notification pertains to the one ormore points of interest in the field of vision of the user.
 16. Thenon-transitory computer-readable medium as recited in claim 10, furthercomprising: instructions for identifying one or more points of interestin the field of vision of the user based, at least in part, upondetection of signals emitted by a device or entity other than the mobiledevice and/or pattern recognition; wherein the notification pertains tothe points of interest in the field of vision of the user.
 17. Anapparatus, comprising: a processor; and a memory, at least one of theprocessor or the memory being adapted for: obtaining a location of amobile device; ascertaining a direction of movement of the mobiledevice; determining a field of vision of a user of the mobile devicebased, at least in part, on the location of the mobile device and thedirection of movement of the mobile device, wherein determining thefield of vision of the user includes estimating an area that extendsoutward from the user; identifying a point of interest within the fieldof vision of the user; identifying a user profile associated with theuser and/or the mobile device; and providing a notification via themobile device based, at least in part, upon the user profile and thepoint of interest within the field of vision of the user.
 18. Theapparatus as recited in claim 17, wherein the notification comprises avibration of the mobile device.
 19. The apparatus as recited in claim17, wherein the user profile indicates a set of notification preferencesof the user, wherein the notification is provided according to the setof notification preferences.
 20. The apparatus as recited in claim 17,wherein the user profile indicates the point of interest of the user,wherein the notification pertains to the point of interest of the user,and wherein the notification is provided when the point of interestenters into or is in the field of vision of the user.
 21. The apparatusas recited in claim 17, at least one of the processor or the memorybeing further adapted for: identifying one or more possible points ofinterest in the field of vision of the user based, at least in part,upon detection of signals emitted by a device or entity other than themobile device and/or pattern recognition; and selecting at least onepoint of interest from the possible points of interest based, at leastin part, upon the user profile; wherein the notification pertains to theselected point of interest in the field of vision of the user.
 22. Theapparatus as recited in claim 17, at least one of the processor or thememory being further adapted for: obtaining or detecting feedback fromthe user of the mobile device after the notification has been provided;wherein further notifications or content items are provided based, atleast in part, upon the feedback that has been obtained or detected.